<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Briscola: Riferimenti per il file Briscola_main.cc</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Briscola
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generato da Doxygen 1.7.6.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Cerca');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Pagina&#160;Principale</span></a></li>
      <li><a href="annotated.html"><span>Classi</span></a></li>
      <li class="current"><a href="files.html"><span>File</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Cerca" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>Elenco&#160;dei&#160;file</span></a></li>
      <li><a href="globals.html"><span>Elementi&#160;dei&#160;file</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#func-members">Funzioni</a> &#124;
<a href="#var-members">Variabili</a>  </div>
  <div class="headertitle">
<div class="title">Riferimenti per il file Briscola_main.cc</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;iostream&gt;</code><br/>
<code>#include &lt;gtk/gtk.h&gt;</code><br/>
<code>#include &lt;cmath&gt;</code><br/>
<code>#include &lt;ctime&gt;</code><br/>
<code>#include &lt;stdlib.h&gt;</code><br/>
<code>#include &lt;fstream&gt;</code><br/>
<code>#include &lt;cstring&gt;</code><br/>
<code>#include &quot;<a class="el" href="struttura__dati_8h_source.html">struttura_dati.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="manip__mano_8h_source.html">manip_mano.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="manip__turno_8h_source.html">manip_turno.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="inizial__gioco_8h_source.html">inizial_gioco.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="turno__pc_8h_source.html">turno_pc.h</a>&quot;</code><br/>
</div><table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Funzioni</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Briscola__main_8cc.html#af51a9ddaf15902a9c6e4eabaa8247b25">carica_documentazione</a> (GtkMenuItem *item, gpointer data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Link alla documentazione di doxigen.  <a href="#af51a9ddaf15902a9c6e4eabaa8247b25"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Briscola__main_8cc.html#a9699336003f184970c391f05c0eb0412">inizializza_partita</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inizializza la partita.  <a href="#a9699336003f184970c391f05c0eb0412"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Briscola__main_8cc.html#a3c81ef41fc3913ebe55ae2d69ff7c020">chiudi_dialog</a> (GtkButton *button, gpointer data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Segnale che chiude la rispettiva dialog aperta, prendendo il text della label agganciata al data.  <a href="#a3c81ef41fc3913ebe55ae2d69ff7c020"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Briscola__main_8cc.html#a5475ae1cab1980797c47f09fcbf34fe1">azzera_tutto</a> (GtkButton *button, gpointer data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Segnale che azzera tutta la partita, e la rilancia.  <a href="#a5475ae1cab1980797c47f09fcbf34fe1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Briscola__main_8cc.html#a19716e7f255c0317d15c0b3531de364b">handler_new_finish_match</a> (GtkMenuItem *menuitem, gpointer data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Segnale che gestisce sia la nuova partita che l'uscita dal gioco.  <a href="#a19716e7f255c0317d15c0b3531de364b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Briscola__main_8cc.html#ad26b0b2e172566e6a339554c666c0db8">handler_x_button</a> (GtkMenuItem *menuitem, GdkEvent *event, gpointer user_data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Segnale che serve solo per la gestione della chiusura della window dalla x della finestra.  <a href="#ad26b0b2e172566e6a339554c666c0db8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Briscola__main_8cc.html#af41b4bf0ba2f0884b433dc12b71c1947">handler_delete_event</a> (GtkWidget *widget, GdkEvent *event, gpointer user_data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Segnale che chiude il programma.  <a href="#af41b4bf0ba2f0884b433dc12b71c1947"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Briscola__main_8cc.html#ae3904a104d6e85b71d3b311153f04e7e">carta_button_clicked</a> (GtkButton *button, gpointer data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Segnale che gestisce la carta premuta.  <a href="#ae3904a104d6e85b71d3b311153f04e7e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Briscola__main_8cc.html#aecec903d40d8105c21af31dba25f4fd4">mazzo_button_clicked</a> (GtkButton *button, gpointer data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Segnale che gestisce il mazzo premuto.  <a href="#aecec903d40d8105c21af31dba25f4fd4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Briscola__main_8cc.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Main del programma.  <a href="#a0ddf1224851353fc92bfbff6f499fa97"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="var-members"></a>
Variabili</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structpartita__t.html">partita_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">GtkBuilder *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b">builder</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creazione dell'oggetto builder che permette di interagire con la GUI.  <a href="#afa501dbb63ae6077ac8db76b560de42b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struttura__dati_8h.html#a8a71203dddb4c72aa8ff0e4e0cd1047f">gioca_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Briscola__main_8cc.html#a2a9038b0d2c87eafc555a4d5af0a756a">gioca</a> = <a class="el" href="struttura__dati_8h.html#a8a71203dddb4c72aa8ff0e4e0cd1047faeafcea87a64a504a883de9ab41629ec1">giocatore</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creazione di un oggetto di tipo gioca_t.  <a href="#a2a9038b0d2c87eafc555a4d5af0a756a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struttura__dati_8h.html#af16526149e58b386d1e509ab86b84ba3">turno_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Briscola__main_8cc.html#ae24a40a9a45e144fce80974f5929b98e">turno</a> = <a class="el" href="struttura__dati_8h.html#af16526149e58b386d1e509ab86b84ba3a711e3d3b88e96ae8ff6eb4a4250b4990">primo</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creazione di un oggetto di tipo turno_t.  <a href="#ae24a40a9a45e144fce80974f5929b98e"></a><br/></td></tr>
</table>
<hr/><h2>Documentazione delle funzioni</h2>
<a class="anchor" id="a5475ae1cab1980797c47f09fcbf34fe1"></a><!-- doxytag: member="Briscola_main.cc::azzera_tutto" ref="a5475ae1cab1980797c47f09fcbf34fe1" args="(GtkButton *button, gpointer data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="Briscola__main_8cc.html#a5475ae1cab1980797c47f09fcbf34fe1">azzera_tutto</a> </td>
          <td>(</td>
          <td class="paramtype">GtkButton *&#160;</td>
          <td class="paramname"><em>button</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gpointer&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Segnale che azzera tutta la partita, e la rilancia. </p>
<p>fa scomparire label eventualmente presemti, e fa comparire immagini e label eventualmente mancanti. </p>
<div class="fragment"><pre class="fragment">                                                              {
        <a class="code" href="struttura__dati_8h.html#a330bea9b36f638349fec0d06c8ab4c38">D1</a>(cout&lt;&lt;<span class="stringliteral">&quot;INIZIO DEBUG azzera_tutto&quot;</span>&lt;&lt;endl);
        <a class="code" href="manip__turno_8cc.html#ab11cec89b56c0141a1cd8005f6f1edb8" title="Funzione che pulisce il campo di gioco, facendo scomparire le due immagini giocate.">pulisci_tavolo</a>();
        <a class="code" href="struttura__dati_8h.html#a975397c373ae2a9dc28d0297fa18da56">D2</a>(cout&lt;&lt;<span class="stringliteral">&quot;pulito tavolo con successo&quot;</span>&lt;&lt;endl);
        <a class="code" href="Briscola__main_8cc.html#ae24a40a9a45e144fce80974f5929b98e" title="Creazione di un oggetto di tipo turno_t.">turno</a>=<a class="code" href="struttura__dati_8h.html#af16526149e58b386d1e509ab86b84ba3a711e3d3b88e96ae8ff6eb4a4250b4990">primo</a>;
        
        <a class="code" href="Briscola__main_8cc.html#a2a9038b0d2c87eafc555a4d5af0a756a" title="Creazione di un oggetto di tipo gioca_t.">gioca</a>=<a class="code" href="struttura__dati_8h.html#a8a71203dddb4c72aa8ff0e4e0cd1047faeafcea87a64a504a883de9ab41629ec1">giocatore</a>;

        <a class="code" href="Briscola__main_8cc.html#a9699336003f184970c391f05c0eb0412" title="Inizializza la partita.">inizializza_partita</a>();
        <a class="code" href="struttura__dati_8h.html#a975397c373ae2a9dc28d0297fa18da56">D2</a>(cout&lt;&lt;<span class="stringliteral">&quot;inizializzato la partita con successo&quot;</span>&lt;&lt;endl);
        <span class="comment">// setta a visible l&#39;immagine del mazzo</span>
        gtk_widget_set_visible(GTK_WIDGET(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;mazz&quot;</span>))
                                        , <span class="keyword">true</span>);
        
        gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;f&quot;</span>)),<span class="stringliteral">&quot;fine turno&quot;</span>);

        <span class="comment">// setta la label di fine turno non a visible </span>
        gtk_widget_set_visible(GTK_WIDGET(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;f&quot;</span>)), <span class="keyword">false</span>);

        <span class="comment">// rimetto la label delle carte mancanti</span>
        gtk_widget_set_visible(GTK_WIDGET(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;indice&quot;</span>))
                                        , <span class="keyword">true</span>);
                
        <span class="comment">// aggiorna l&#39;immagine della briscola </span>
        gtk_image_set_from_file(GTK_IMAGE(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;image1&quot;</span>))
                                        ,<a class="code" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a>.<a class="code" href="structpartita__t.html#aae615050b87201d5c220657624553bd4">mazzo</a>[6].<a class="code" href="structcarta__t.html#a09863517b95595e3e5a1ce921f1b3c0f">nome</a>);

        <span class="comment">// l&#39;immagine la risetta visible</span>
        gtk_widget_set_visible(GTK_WIDGET(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;image1&quot;</span>))
                                        , <span class="keyword">true</span>);

        <span class="comment">// rimette il mazzo a non editabile</span>
        gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;mazzo&quot;</span>))
                                        ,<span class="keyword">false</span>);

        <span class="comment">// ripristina la label delle carte mancanti</span>
        gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>, <span class="stringliteral">&quot;indice&quot;</span>)),<span class="stringliteral">&quot;33&quot;</span>);

        <span class="comment">// riazzera la label dei punti</span>
        gtk_label_set_label(GTK_LABEL(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;label1&quot;</span>)),<span class="stringliteral">&quot;00&quot;</span>); 

        <span class="comment">// setta le carti a visible</span>
        gtk_widget_set_visible(GTK_WIDGET(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;0&quot;</span>)),<span class="keyword">true</span>);
        gtk_widget_set_visible(GTK_WIDGET(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;1&quot;</span>)),<span class="keyword">true</span>);
        gtk_widget_set_visible(GTK_WIDGET(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;2&quot;</span>)),<span class="keyword">true</span>);
        gtk_widget_set_visible(GTK_WIDGET(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;3&quot;</span>)),<span class="keyword">true</span>);
        gtk_widget_set_visible(GTK_WIDGET(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;4&quot;</span>)),<span class="keyword">true</span>);
        gtk_widget_set_visible(GTK_WIDGET(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;5&quot;</span>)),<span class="keyword">true</span>);

        <span class="comment">//chiude la finestra di dialogo</span>
        <a class="code" href="Briscola__main_8cc.html#a3c81ef41fc3913ebe55ae2d69ff7c020" title="Segnale che chiude la rispettiva dialog aperta, prendendo il text della label agganciata al data...">chiudi_dialog</a>(button, data);
        <a class="code" href="struttura__dati_8h.html#a975397c373ae2a9dc28d0297fa18da56">D2</a>(cout&lt;&lt;<span class="stringliteral">&quot;chiusa dialog con successo&quot;</span>&lt;&lt;endl);
        <a class="code" href="struttura__dati_8h.html#a330bea9b36f638349fec0d06c8ab4c38">D1</a>(cout&lt;&lt;<span class="stringliteral">&quot;FINE DEBUG AZZERA TUTTO&quot;</span>&lt;&lt;endl);
}
</pre></div>
</div>
</div>
<a class="anchor" id="af51a9ddaf15902a9c6e4eabaa8247b25"></a><!-- doxytag: member="Briscola_main.cc::carica_documentazione" ref="af51a9ddaf15902a9c6e4eabaa8247b25" args="(GtkMenuItem *item, gpointer data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="Briscola__main_8cc.html#af51a9ddaf15902a9c6e4eabaa8247b25">carica_documentazione</a> </td>
          <td>(</td>
          <td class="paramtype">GtkMenuItem *&#160;</td>
          <td class="paramname"><em>item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gpointer&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Link alla documentazione di doxigen. </p>
<p>Permette di aprire una pagina di firefox con la relativa documentazione in formato html. </p>
<div class="fragment"><pre class="fragment">                                                                       {
        <a class="code" href="struttura__dati_8h.html#a330bea9b36f638349fec0d06c8ab4c38">D1</a>(cout&lt;&lt;<span class="stringliteral">&quot;INIZIO DEBUG carica_documentazione&quot;</span>&lt;&lt;endl);
        system(<span class="stringliteral">&quot;firefox ../doc/html/index.html&quot;</span>);
        <a class="code" href="struttura__dati_8h.html#a330bea9b36f638349fec0d06c8ab4c38">D1</a>(cout&lt;&lt;<span class="stringliteral">&quot;FINE DEBUG DOCUMENTAZIONE :aperta con succeso&quot;</span>&lt;&lt;endl);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ae3904a104d6e85b71d3b311153f04e7e"></a><!-- doxytag: member="Briscola_main.cc::carta_button_clicked" ref="ae3904a104d6e85b71d3b311153f04e7e" args="(GtkButton *button, gpointer data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="Briscola__main_8cc.html#ae3904a104d6e85b71d3b311153f04e7e">carta_button_clicked</a> </td>
          <td>(</td>
          <td class="paramtype">GtkButton *&#160;</td>
          <td class="paramname"><em>button</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gpointer&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Segnale che gestisce la carta premuta. </p>
<p>Gestisce quale giocatore ha premuto la carta, e a quale turno. </p>
<div class="fragment"><pre class="fragment">                                                                      {
        <a class="code" href="struttura__dati_8h.html#a330bea9b36f638349fec0d06c8ab4c38">D1</a>(cout&lt;&lt;<span class="stringliteral">&quot;INIZIO DEBUG carta_button_clicked&quot;</span>&lt;&lt;endl);
        <span class="comment">// Prende il nome della label, che per me rappresenta l&#39;indice del vettore </span>
        <span class="comment">// della mia mano di gioco.     </span>
        <span class="keyword">const</span> <span class="keywordtype">char</span> *num_lab = gtk_label_get_text(GTK_LABEL(data));
        
        <span class="comment">// Testo della label convertito ad intero.</span>
        <span class="keywordtype">int</span> indice=atoi(num_lab);

        gtk_widget_set_visible(GTK_WIDGET(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,num_lab)),
                                                <span class="keyword">false</span>); 
        <a class="code" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a>.<a class="code" href="structpartita__t.html#a8f0135e2c32b08eeee0e4f56d0060303">player1</a>.<a class="code" href="structgiocatore__t.html#aa8c2de59c223c0a184b443927681bb6e">mano</a>[indice].<a class="code" href="structcarta__t.html#a86abba56ea536cc662db44012fafd7cf">selez</a>=<span class="keyword">true</span>;
        
        <a class="code" href="manip__turno_8cc.html#a9bb65e85dfc32afa5380ca1894aad4ed" title="Funzione che setta la carta che viene messa sul tavolo di gioco.">setta_immagine_tavolo</a>();
        <a class="code" href="struttura__dati_8h.html#a975397c373ae2a9dc28d0297fa18da56">D2</a>(cout&lt;&lt;<span class="stringliteral">&quot;settato le immagini sul tavolo con successo&quot;</span>&lt;&lt;endl);
        <span class="comment">// passa il turno gestendo il punto del gioco in cui sono</span>
        <a class="code" href="manip__turno_8cc.html#a725c1e4dc8bdf8ce74ff8a49b44671e4" title="Funzione che gestisce la fine del turno.">passa_turno</a>();

        <span class="keywordflow">if</span> (<a class="code" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a>.<a class="code" href="structpartita__t.html#a59cd27a5b3c0d18b137044ad81dfe5c9">id_fine</a> == 19){
                gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;f&quot;</span>)),<span class="stringliteral">&quot;fine partita&quot;</span>);
        }
        <a class="code" href="struttura__dati_8h.html#a330bea9b36f638349fec0d06c8ab4c38">D1</a>(cout&lt;&lt;<span class="stringliteral">&quot;FINE DEBUG CARTA BUTTON CLICKED&quot;</span>&lt;&lt;endl);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a3c81ef41fc3913ebe55ae2d69ff7c020"></a><!-- doxytag: member="Briscola_main.cc::chiudi_dialog" ref="a3c81ef41fc3913ebe55ae2d69ff7c020" args="(GtkButton *button, gpointer data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="Briscola__main_8cc.html#a3c81ef41fc3913ebe55ae2d69ff7c020">chiudi_dialog</a> </td>
          <td>(</td>
          <td class="paramtype">GtkButton *&#160;</td>
          <td class="paramname"><em>button</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gpointer&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Segnale che chiude la rispettiva dialog aperta, prendendo il text della label agganciata al data. </p>
<div class="fragment"><pre class="fragment">                                                               {
        <a class="code" href="struttura__dati_8h.html#a330bea9b36f638349fec0d06c8ab4c38">D1</a>(cout&lt;&lt;<span class="stringliteral">&quot;INIZIO DEBUG chiudi_dialog&quot;</span>&lt;&lt;endl);
        <span class="comment">// Prende il nome della label, che per me rappresenta il nome della dialog</span>
        <span class="keyword">const</span> <span class="keywordtype">char</span> *nome_dia = gtk_label_get_text(GTK_LABEL(data));
        <a class="code" href="struttura__dati_8h.html#a975397c373ae2a9dc28d0297fa18da56">D2</a>(cout&lt;&lt;<span class="stringliteral">&quot;recuperato il nome dalla label&quot;</span>&lt;&lt;endl);
        gtk_widget_set_visible(GTK_WIDGET(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,
                                                                nome_dia)), <span class="keyword">false</span>);
        <a class="code" href="struttura__dati_8h.html#a330bea9b36f638349fec0d06c8ab4c38">D1</a>(cout&lt;&lt;<span class="stringliteral">&quot;FINE DEBUG CHIUDI DIALOG&quot;</span>&lt;&lt;endl);
}
</pre></div>
</div>
</div>
<a class="anchor" id="af41b4bf0ba2f0884b433dc12b71c1947"></a><!-- doxytag: member="Briscola_main.cc::handler_delete_event" ref="af41b4bf0ba2f0884b433dc12b71c1947" args="(GtkWidget *widget, GdkEvent *event, gpointer user_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gboolean <a class="el" href="Briscola__main_8cc.html#af41b4bf0ba2f0884b433dc12b71c1947">handler_delete_event</a> </td>
          <td>(</td>
          <td class="paramtype">GtkWidget *&#160;</td>
          <td class="paramname"><em>widget</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GdkEvent *&#160;</td>
          <td class="paramname"><em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gpointer&#160;</td>
          <td class="paramname"><em>user_data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Segnale che chiude il programma. </p>
<div class="fragment"><pre class="fragment">                                                                   {
        gtk_main_quit();
        <span class="keywordflow">return</span> <span class="keyword">true</span>;
        }
</pre></div>
</div>
</div>
<a class="anchor" id="a19716e7f255c0317d15c0b3531de364b"></a><!-- doxytag: member="Briscola_main.cc::handler_new_finish_match" ref="a19716e7f255c0317d15c0b3531de364b" args="(GtkMenuItem *menuitem, gpointer data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="Briscola__main_8cc.html#a19716e7f255c0317d15c0b3531de364b">handler_new_finish_match</a> </td>
          <td>(</td>
          <td class="paramtype">GtkMenuItem *&#160;</td>
          <td class="paramname"><em>menuitem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gpointer&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Segnale che gestisce sia la nuova partita che l'uscita dal gioco. </p>
<p>Fa quindi comparire la dialog1 o dialog2 </p>
<div class="fragment"><pre class="fragment">                                                                              {
        <a class="code" href="struttura__dati_8h.html#a330bea9b36f638349fec0d06c8ab4c38">D1</a>(cout&lt;&lt;<span class="stringliteral">&quot;INIZIO DEBUG handler_new_finish_match&quot;</span>&lt;&lt;endl);
        <span class="keyword">const</span> <span class="keywordtype">char</span> *nome_dia = gtk_label_get_text(GTK_LABEL(data));
        
                
        gtk_widget_set_visible(GTK_WIDGET(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,
                                                                nome_dia)), <span class="keyword">true</span>);
        <a class="code" href="struttura__dati_8h.html#a330bea9b36f638349fec0d06c8ab4c38">D1</a>(cout&lt;&lt;<span class="stringliteral">&quot;FINE DEBUG HANDLER NEW FINISH MATCH&quot;</span>&lt;&lt;endl);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ad26b0b2e172566e6a339554c666c0db8"></a><!-- doxytag: member="Briscola_main.cc::handler_x_button" ref="ad26b0b2e172566e6a339554c666c0db8" args="(GtkMenuItem *menuitem, GdkEvent *event, gpointer user_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="Briscola__main_8cc.html#ad26b0b2e172566e6a339554c666c0db8">handler_x_button</a> </td>
          <td>(</td>
          <td class="paramtype">GtkMenuItem *&#160;</td>
          <td class="paramname"><em>menuitem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GdkEvent *&#160;</td>
          <td class="paramname"><em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gpointer&#160;</td>
          <td class="paramname"><em>user_data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Segnale che serve solo per la gestione della chiusura della window dalla x della finestra. </p>
<div class="fragment"><pre class="fragment">                                                          {
        <a class="code" href="struttura__dati_8h.html#a330bea9b36f638349fec0d06c8ab4c38">D1</a>(cout&lt;&lt;<span class="stringliteral">&quot;INIZIO DEBUG handler_x_button&quot;</span>&lt;&lt;endl);
        <a class="code" href="Briscola__main_8cc.html#a19716e7f255c0317d15c0b3531de364b" title="Segnale che gestisce sia la nuova partita che l&#39;uscita dal gioco.">handler_new_finish_match</a>(menuitem, user_data);
        <a class="code" href="struttura__dati_8h.html#a330bea9b36f638349fec0d06c8ab4c38">D1</a>(cout&lt;&lt;<span class="stringliteral">&quot;FINE DEBUG HANDLER X BUTTON&quot;</span>&lt;&lt;endl);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a9699336003f184970c391f05c0eb0412"></a><!-- doxytag: member="Briscola_main.cc::inizializza_partita" ref="a9699336003f184970c391f05c0eb0412" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="Briscola__main_8cc.html#a9699336003f184970c391f05c0eb0412">inizializza_partita</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inizializza la partita. </p>
<p>Funzione privata perchè usata solo all'interno di Briscola.cc, inizializza il mazzo e le mani con i rispettivi valori. </p>
<div class="fragment"><pre class="fragment">                                 {
        <a class="code" href="struttura__dati_8h.html#a330bea9b36f638349fec0d06c8ab4c38">D1</a>(cout&lt;&lt;<span class="stringliteral">&quot;INIZIO DEBUG inizializza_partita&quot;</span>&lt;&lt;endl);
        <span class="comment">// setta l&#39;indice del mazzo a zero</span>
        <a class="code" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a>.<a class="code" href="structpartita__t.html#a22d2b36b0114a4fec3fb2c941debc37b">idx</a> = 0;
        <a class="code" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a>.<a class="code" href="structpartita__t.html#a59cd27a5b3c0d18b137044ad81dfe5c9">id_fine</a>=0;
        <span class="comment">// inizializza a 0 tutto il mazzo</span>
        <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i=0; i&lt;40; i++){
                <a class="code" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a>.<a class="code" href="structpartita__t.html#aae615050b87201d5c220657624553bd4">mazzo</a>[i].<a class="code" href="structcarta__t.html#a3923d5d027000fdd435b700fdd7d3d25">val</a>=0;
                <a class="code" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a>.<a class="code" href="structpartita__t.html#aae615050b87201d5c220657624553bd4">mazzo</a>[i].<a class="code" href="structcarta__t.html#a86abba56ea536cc662db44012fafd7cf">selez</a>=<span class="keyword">false</span>;
                <span class="comment">// setta a true il campo esiste perchè considera che dopo il mazzo</span>
                <span class="comment">// venga creato veramente</span>
                <a class="code" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a>.<a class="code" href="structpartita__t.html#aae615050b87201d5c220657624553bd4">mazzo</a>[i].<a class="code" href="structcarta__t.html#a6ab59c1cf13af80185c74545bc8f1443">esiste</a>=<span class="keyword">true</span>;                                           
                }
        <a class="code" href="struttura__dati_8h.html#a975397c373ae2a9dc28d0297fa18da56">D2</a>(cout&lt;&lt;<span class="stringliteral">&quot;inizializzato a zero la partita con successo&quot;</span>&lt;&lt;cout);
        <span class="comment">// setta a 0 le mani del giocatore e del computer</span>
        <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i=0; i&lt;<a class="code" href="struttura__dati_8h.html#a85d04f447605ad1eb3ff261c8482339f" title="Numero di carte che compondono la mano di gioco.">NUM_MANO</a>; i++){
                <a class="code" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a>.<a class="code" href="structpartita__t.html#a8f0135e2c32b08eeee0e4f56d0060303">player1</a>.<a class="code" href="structgiocatore__t.html#aa8c2de59c223c0a184b443927681bb6e">mano</a>[i].<a class="code" href="structcarta__t.html#a3923d5d027000fdd435b700fdd7d3d25">val</a>=0;
                <a class="code" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a>.<a class="code" href="structpartita__t.html#a09b1c5d5095e341f598d1fda66cf4f20">player2</a>.<a class="code" href="structgiocatore__t.html#aa8c2de59c223c0a184b443927681bb6e">mano</a>[i].<a class="code" href="structcarta__t.html#a3923d5d027000fdd435b700fdd7d3d25">val</a>=0;
                }
        <a class="code" href="struttura__dati_8h.html#a975397c373ae2a9dc28d0297fa18da56">D2</a>(cout&lt;&lt;<span class="stringliteral">&quot;inizializzato a zero i val delle mani dei due giocatori&quot;</span>&lt;&lt;endl);
        <span class="comment">// setta a zero i punteggi dei 2 giocatori (giocatore e pc)</span>
        <a class="code" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a>.<a class="code" href="structpartita__t.html#a8f0135e2c32b08eeee0e4f56d0060303">player1</a>.<a class="code" href="structgiocatore__t.html#a4a49b7d13900fd5914b3f3bd5b88a88b">punteggio</a>=0;
        <a class="code" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a>.<a class="code" href="structpartita__t.html#a09b1c5d5095e341f598d1fda66cf4f20">player2</a>.<a class="code" href="structgiocatore__t.html#a4a49b7d13900fd5914b3f3bd5b88a88b">punteggio</a>=0;
        
        <span class="comment">//genera il mazzo</span>
        <a class="code" href="inizial__gioco_8cc.html#aff0a0406de0c3a22318755c050394974" title="Funzione che genera il mazzo mescolato.">genera_mazzo</a>();
        <a class="code" href="struttura__dati_8h.html#a975397c373ae2a9dc28d0297fa18da56">D2</a>(cout&lt;&lt;<span class="stringliteral">&quot;mazzo generato con successo&quot;</span>&lt;&lt;endl);
        <span class="comment">/* Quasto for è indispensabile per la prima volta, perchè carica_mano </span>
<span class="comment">         * è una funzione singola, perchè viene usata sia per caricare la mano,</span>
<span class="comment">         * che per l&#39;aggiornare la mano.</span>
<span class="comment">         * Setta come già selezionate le carte che i giocatori dovrebbero avere</span>
<span class="comment">         * in mano, così carica mano può funzionare anche in questo caso, </span>
<span class="comment">         * ovvero, deve far pescare ad ogni giocatore le prime tre carte.</span>
<span class="comment">         * In più setta che esistono le tre carte della mano.  </span>
<span class="comment">    */</span>
        <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i=0; i&lt;3; i++){
                <a class="code" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a>.<a class="code" href="structpartita__t.html#a09b1c5d5095e341f598d1fda66cf4f20">player2</a>.<a class="code" href="structgiocatore__t.html#aa8c2de59c223c0a184b443927681bb6e">mano</a>[i].<a class="code" href="structcarta__t.html#a86abba56ea536cc662db44012fafd7cf">selez</a> = <span class="keyword">true</span>;
                <a class="code" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a>.<a class="code" href="structpartita__t.html#a8f0135e2c32b08eeee0e4f56d0060303">player1</a>.<a class="code" href="structgiocatore__t.html#aa8c2de59c223c0a184b443927681bb6e">mano</a>[i].<a class="code" href="structcarta__t.html#a86abba56ea536cc662db44012fafd7cf">selez</a> = <span class="keyword">true</span>;
                <a class="code" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a>.<a class="code" href="structpartita__t.html#a8f0135e2c32b08eeee0e4f56d0060303">player1</a>.<a class="code" href="structgiocatore__t.html#aa8c2de59c223c0a184b443927681bb6e">mano</a>[i].<a class="code" href="structcarta__t.html#a6ab59c1cf13af80185c74545bc8f1443">esiste</a>=<span class="keyword">true</span>;                                            
                <a class="code" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a>.<a class="code" href="structpartita__t.html#a09b1c5d5095e341f598d1fda66cf4f20">player2</a>.<a class="code" href="structgiocatore__t.html#aa8c2de59c223c0a184b443927681bb6e">mano</a>[i].<a class="code" href="structcarta__t.html#a6ab59c1cf13af80185c74545bc8f1443">esiste</a>=<span class="keyword">true</span>;
                }
        <a class="code" href="struttura__dati_8h.html#a975397c373ae2a9dc28d0297fa18da56">D2</a>(cout&lt;&lt;<span class="stringliteral">&quot;inizializzato i campi &#39;selez&#39; e &#39;esiste&#39; delle mani &quot;</span>&lt;&lt;endl); 
        <span class="comment">// carica la mano di gioco con le carte</span>
        <a class="code" href="manip__mano_8cc.html#a3d9db0aed029e82290aab3fede43f53a" title="Funzione che genera la mano di gioco, caricando le carte dal mazzo alle rispettive mani...">carica_mano</a>();
        <a class="code" href="struttura__dati_8h.html#a975397c373ae2a9dc28d0297fa18da56">D2</a>(cout&lt;&lt;<span class="stringliteral">&quot;caricato la mano con successo&quot;</span>&lt;&lt;endl);
        <span class="comment">/* IMPORTANTE</span>
<span class="comment">         * Fa idx++ perchè in questo momento punta alla carta del mazzo che però è</span>
<span class="comment">         * la mia briscola, quindi non posso pescarla, e la salto perchè deve</span>
<span class="comment">    * rimanere fissa.</span>
<span class="comment">    */</span>
        <a class="code" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a>.<a class="code" href="structpartita__t.html#a22d2b36b0114a4fec3fb2c941debc37b">idx</a>++;
        
        <span class="comment">/* Adesso setta le carte che si possono premere.</span>
<span class="comment">         * In questo caso saranno sempre le carte del giocatore, </span>
<span class="comment">         * perchè abbiamo detto che inizia sempre lui per primo.</span>
<span class="comment">         */</span>
        <a class="code" href="manip__mano_8cc.html#acc5aecf78ac020b957a4e37ee1aecc26" title="Funzione che setta la mano del giocatore.">setta_mano</a>();
        <a class="code" href="struttura__dati_8h.html#a975397c373ae2a9dc28d0297fa18da56">D2</a>(cout&lt;&lt;<span class="stringliteral">&quot;settato la mano con successo&quot;</span>&lt;&lt;endl);
        <a class="code" href="struttura__dati_8h.html#a330bea9b36f638349fec0d06c8ab4c38">D1</a>(cout&lt;&lt;<span class="stringliteral">&quot;FINE DEBUG INIZIALIZZA&quot;</span>&lt;&lt;endl);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a0ddf1224851353fc92bfbff6f499fa97"></a><!-- doxytag: member="Briscola_main.cc::main" ref="a0ddf1224851353fc92bfbff6f499fa97" args="(int argc, char *argv[])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="Briscola__main_8cc.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>argv</em>[]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Main del programma. </p>
<p>Avvia la partita richiamando la funzione inizializza_partita, e in più setta solo il mazzo a non sensible e con l'immagine della carta girata. </p>
<div class="fragment"><pre class="fragment">                                 {

        <a class="code" href="struttura__dati_8h.html#a330bea9b36f638349fec0d06c8ab4c38">D1</a>(cout&lt;&lt;<span class="stringliteral">&quot;INIZIO DEBUG MAIN&quot;</span>&lt;&lt;endl);

        <span class="comment">/* Call this function before using any other GTK+ </span>
<span class="comment">         * functions in your GUI applications. It will initialize </span>
<span class="comment">         * everything needed to operate the toolkit and parses </span>
<span class="comment">         * some standard command line options.</span>
<span class="comment"></span>
<span class="comment">         * Although you are expected to pass the argc, argv </span>
<span class="comment">         * parameters from main() to this function, it is possible </span>
<span class="comment">         * to pass NULL if argv is not available or commandline         </span>
<span class="comment">         * handling is not required.</span>
<span class="comment"></span>
<span class="comment">         * argc and argv are adjusted accordingly so your own </span>
<span class="comment">         * code will never see those standard arguments.</span>
<span class="comment">         */</span>
        gtk_init(&amp;argc, &amp;argv);

        <span class="comment">//Creazione di un nuovo oggetto GtkBuilder</span>
        <a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a> = gtk_builder_new();

        <span class="comment">//Caricamento dell&#39;interfaccia nel nostro programma</span>
        gtk_builder_add_from_file(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;BRISC.glade&quot;</span>,NULL);

   <span class="comment">//connessione di tutti i segnali</span>
   gtk_builder_connect_signals(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>, NULL);

        <span class="comment">//INIZIO:</span>
        
        <a class="code" href="Briscola__main_8cc.html#a9699336003f184970c391f05c0eb0412" title="Inizializza la partita.">inizializza_partita</a>();
        <a class="code" href="struttura__dati_8h.html#a975397c373ae2a9dc28d0297fa18da56">D2</a>(cout&lt;&lt;<span class="stringliteral">&quot;inizielizzato la partita con successo&quot;</span>&lt;&lt;endl);
        
        gtk_image_set_from_file(GTK_IMAGE(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;mazz&quot;</span>)),
                                                <span class="stringliteral">&quot;./Carte/retro.jpg&quot;</span>);
                
        gtk_image_set_from_file(GTK_IMAGE(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;image1&quot;</span>)),
                                                <a class="code" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a>.<a class="code" href="structpartita__t.html#aae615050b87201d5c220657624553bd4">mazzo</a>[6].<a class="code" href="structcarta__t.html#a09863517b95595e3e5a1ce921f1b3c0f">nome</a>);

        <span class="comment">// setta a non sensitive il mazzo</span>
        gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;mazzo&quot;</span>)),
                                                <span class="keyword">false</span>);

        <span class="comment">//Partenza del ciclo di gestione degli eventi</span>
   gtk_main();
        
        <span class="keywordflow">return</span> 0;
}
</pre></div>
</div>
</div>
<a class="anchor" id="aecec903d40d8105c21af31dba25f4fd4"></a><!-- doxytag: member="Briscola_main.cc::mazzo_button_clicked" ref="aecec903d40d8105c21af31dba25f4fd4" args="(GtkButton *button, gpointer data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="Briscola__main_8cc.html#aecec903d40d8105c21af31dba25f4fd4">mazzo_button_clicked</a> </td>
          <td>(</td>
          <td class="paramtype">GtkButton *&#160;</td>
          <td class="paramname"><em>button</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gpointer&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Segnale che gestisce il mazzo premuto. </p>
<p>Il mazzo viene premuto solo alla fine di una mano, ovvero quando la variabile turno è = a secondo, cioè entrambi i giocatori hanno giocato. Permette di pescare una carta. </p>
<div class="fragment"><pre class="fragment">                                                                      {
        <a class="code" href="struttura__dati_8h.html#a330bea9b36f638349fec0d06c8ab4c38">D1</a>(cout&lt;&lt;<span class="stringliteral">&quot;INIZIO DEBUG mazzo_button_clicked&quot;</span>&lt;&lt;endl);

        <a class="code" href="Briscola__main_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a>.<a class="code" href="structpartita__t.html#a59cd27a5b3c0d18b137044ad81dfe5c9">id_fine</a>++;
        <span class="comment">// controlla fine partita</span>
        <a class="code" href="manip__mano_8h.html#af794bafed0c184b257b4c3c04ba1ca3e" title="Funzione che controlla qundo la partita è finita.">gestore_fine_partita</a>();
        <a class="code" href="struttura__dati_8h.html#a975397c373ae2a9dc28d0297fa18da56">D2</a>(cout&lt;&lt;<span class="stringliteral">&quot;controllo sulla fine della partita fatto con successo&quot;</span>&lt;&lt;endl);
        <span class="comment">// Ricarica la mano solo alla fine di entrambi i turni, con le carte nuove.</span>
        <a class="code" href="manip__mano_8cc.html#a3d9db0aed029e82290aab3fede43f53a" title="Funzione che genera la mano di gioco, caricando le carte dal mazzo alle rispettive mani...">carica_mano</a>();
        <a class="code" href="struttura__dati_8h.html#a975397c373ae2a9dc28d0297fa18da56">D2</a>(cout&lt;&lt;<span class="stringliteral">&quot;caricato la mani con successo&quot;</span>&lt;&lt;endl);
        <span class="comment">// libera il campo di gioco</span>
        <a class="code" href="manip__turno_8cc.html#ab11cec89b56c0141a1cd8005f6f1edb8" title="Funzione che pulisce il campo di gioco, facendo scomparire le due immagini giocate.">pulisci_tavolo</a>();
        <a class="code" href="struttura__dati_8h.html#a975397c373ae2a9dc28d0297fa18da56">D2</a>(cout&lt;&lt;<span class="stringliteral">&quot;pulito il tavolo con successo&quot;</span>&lt;&lt;endl);
        gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>,<span class="stringliteral">&quot;mazzo&quot;</span>))
                                                ,<span class="keyword">false</span>);
        <span class="comment">// recupera la label delle carte mancanti</span>
        <span class="keyword">const</span> <span class="keywordtype">char</span> *c1=gtk_label_get_text(GTK_LABEL(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>, 
                                                <span class="stringliteral">&quot;indice&quot;</span>)));
        <span class="keywordtype">char</span> c2[3];
        c2[0]=c1[0];
        c2[1]=c1[1];
        c2[2]=<span class="charliteral">&#39;\0&#39;</span>;
        <span class="comment">// aggiorna il numero delle carte mancanti</span>
        <span class="keywordtype">int</span> v;
        v = (c2[0]-<span class="charliteral">&#39;0&#39;</span>)*10 + c2[1]-<span class="charliteral">&#39;0&#39;</span>;
        v-=2;
        c2[0]=v/10+<span class="charliteral">&#39;0&#39;</span>;
        c2[1]=v%10+<span class="charliteral">&#39;0&#39;</span>;

        gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(<a class="code" href="Briscola__main_8cc.html#afa501dbb63ae6077ac8db76b560de42b" title="Creazione dell&#39;oggetto builder che permette di interagire con la GUI.">builder</a>, <span class="stringliteral">&quot;indice&quot;</span>)), c2);
        <a class="code" href="struttura__dati_8h.html#a975397c373ae2a9dc28d0297fa18da56">D2</a>(cout&lt;&lt;<span class="stringliteral">&quot;settato il testo della label correttamente&quot;</span>&lt;&lt;endl);
        
        <span class="keywordflow">if</span>(<a class="code" href="Briscola__main_8cc.html#a2a9038b0d2c87eafc555a4d5af0a756a" title="Creazione di un oggetto di tipo gioca_t.">gioca</a>==<a class="code" href="struttura__dati_8h.html#a8a71203dddb4c72aa8ff0e4e0cd1047faf6d8af4c51e534d5cfd2062acf2c692c">computer</a>){
                <a class="code" href="turno__pc_8cc.html#aaefc53aa33a56245175f94c2334ff975" title="Funzione che gestisce il turno del computer.">gioca_mano_pc</a>();
                <a class="code" href="struttura__dati_8h.html#a975397c373ae2a9dc28d0297fa18da56">D2</a>(cout&lt;&lt;<span class="stringliteral">&quot;il computer ha giocato con successo&quot;</span>&lt;&lt;endl);  
                <a class="code" href="Briscola__main_8cc.html#ae24a40a9a45e144fce80974f5929b98e" title="Creazione di un oggetto di tipo turno_t.">turno</a> = <a class="code" href="struttura__dati_8h.html#af16526149e58b386d1e509ab86b84ba3a935b42c525c5efab6e8bbd833c889c3f">secondo</a>;
                }       
        
        <span class="comment">/* Ogni volta che il turno cambia, risetta la sensibilità delle carte del giocatore </span>
<span class="comment">         * che deve giocare.</span>
<span class="comment">         */</span> 
        <a class="code" href="manip__mano_8cc.html#acc5aecf78ac020b957a4e37ee1aecc26" title="Funzione che setta la mano del giocatore.">setta_mano</a>();   
        <a class="code" href="struttura__dati_8h.html#a975397c373ae2a9dc28d0297fa18da56">D2</a>(cout&lt;&lt;<span class="stringliteral">&quot;settato la mani con successo&quot;</span>&lt;&lt;endl);
        <a class="code" href="struttura__dati_8h.html#a330bea9b36f638349fec0d06c8ab4c38">D1</a>(cout&lt;&lt;<span class="stringliteral">&quot;FINE DEBUG MAZZO BUTTON CLICKED&quot;</span>&lt;&lt;endl);
        
}
</pre></div>
</div>
</div>
<hr/><h2>Documentazione delle variabili</h2>
<a class="anchor" id="afa501dbb63ae6077ac8db76b560de42b"></a><!-- doxytag: member="Briscola_main.cc::builder" ref="afa501dbb63ae6077ac8db76b560de42b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GtkBuilder* <a class="el" href="turno__pc_8cc.html#afa501dbb63ae6077ac8db76b560de42b">builder</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creazione dell'oggetto builder che permette di interagire con la GUI. </p>

</div>
</div>
<a class="anchor" id="a2a9038b0d2c87eafc555a4d5af0a756a"></a><!-- doxytag: member="Briscola_main.cc::gioca" ref="a2a9038b0d2c87eafc555a4d5af0a756a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struttura__dati_8h.html#a8a71203dddb4c72aa8ff0e4e0cd1047f">gioca_t</a> <a class="el" href="turno__pc_8cc.html#a2a9038b0d2c87eafc555a4d5af0a756a">gioca</a> = <a class="el" href="struttura__dati_8h.html#a8a71203dddb4c72aa8ff0e4e0cd1047faeafcea87a64a504a883de9ab41629ec1">giocatore</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creazione di un oggetto di tipo gioca_t. </p>
<p>Settato per default a giocatore, che inizierà sempre la partita </p>

</div>
</div>
<a class="anchor" id="a5e978ffecd32f0313c315b85b25cfecb"></a><!-- doxytag: member="Briscola_main.cc::partita" ref="a5e978ffecd32f0313c315b85b25cfecb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structpartita__t.html">partita_t</a> <a class="el" href="turno__pc_8cc.html#a5e978ffecd32f0313c315b85b25cfecb">partita</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ae24a40a9a45e144fce80974f5929b98e"></a><!-- doxytag: member="Briscola_main.cc::turno" ref="ae24a40a9a45e144fce80974f5929b98e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struttura__dati_8h.html#af16526149e58b386d1e509ab86b84ba3">turno_t</a> <a class="el" href="turno__pc_8cc.html#ae24a40a9a45e144fce80974f5929b98e">turno</a> = <a class="el" href="struttura__dati_8h.html#af16526149e58b386d1e509ab86b84ba3a711e3d3b88e96ae8ff6eb4a4250b4990">primo</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creazione di un oggetto di tipo turno_t. </p>
<p>Oggetto che serve per tenere il turno nella coppia di giocate dei due sfidanti nella stessa mano. </p>

</div>
</div>
</div><!-- contents -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>Tutto</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classi</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>File</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Funzioni</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variabili</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Tipi enumerati (enum)</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Valori del tipo enumerato</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Definizioni</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>



<hr class="footer"/><address class="footer"><small>
Generato Lun 16 Giu 2014 12:47:59 per Briscola da &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>
